package com.ceair.utils.structMapper;

import com.ceair.entity.LogExt;
import com.ceair.entity.vo.LogExtVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author wangbaohai
 * @ClassName LogExtStructMapper
 * @description: 业务日志详情结构映射转换器
 * @date 2025年03月21日
 * @version: 1.0.0
 */
@Mapper
public interface LogExtStructMapper {

    // 使用MapStruct框架获取LogExtStructMapper接口的实例，用于日志扩展结构的对象与实体相互转换
    LogExtStructMapper INSTANCE = Mappers.getMapper(LogExtStructMapper.class);

    /**
     * 将LogExt实体转换为LogExtVO视图对象
     * @param logExt LogExt实体，包含日志扩展结构的数据
     * @return LogExtVO视图对象，用于展示层或服务层的数据传递
     */
    LogExtVO toVO(LogExt logExt);

    /**
     * 将LogExtVO视图对象转换为LogExt实体
     * @param logExtVO LogExtVO视图对象，包含从展示层或服务层接收到的日志扩展结构数据
     * @return LogExt实体，用于持久化操作或进一步的数据处理
     */
    LogExt toEntity(LogExtVO logExtVO);

}
